Current control of motor drives with output sinewave filter

ABSTRACT

Disclosed examples include power conversion systems, methods and computer readable mediums to operate an inverter to drive a motor load through an output filter, in which a control output value is computed according to a current reference value and a current feedback value using a proportional-integral (PI) current regulator, the control output value is filtered using a lag compensator filter to compute an inverter output command value, and the inverter is controlled according to the inverter output command value.

INCORPORATION BY REFERENCE

The following U.S. patents, patent applications and published patentapplications are hereby incorporated by reference in their entireties:U.S. Pat. No. 9,124,209 issued Sep. 1, 2015 to Liu et al., entitledMETHOD AND APPARATUS FOR CONTROLLING POWER CONVERTER WITH INVERTEROUTPUT FILTER; U.S. Patent Application Publication No. 2015/0123579 A1to Liu et al., entitled METHOD AND APPARATUS FOR CONTROLLING POWERCONVERTER WITH INVERTER OUTPUT FILTER, and filed as U.S. patentapplication Ser. No. 14/555,769 on Nov. 28, 2014; U.S. Pat. No.9,054,621 issued Jun. 9, 2015 to Liu et al., entitled POSITIONSENSORLESS OPEN LOOP CONTROL FOR MOTOR DRIVES WITH OUTPUT FILTER ANDTRANSFORMER; U.S. Patent Application Publication No. 2015/0194901 Al toLiu et al., entitled POSITION SENSORLESS OPEN LOOP CONTROL FOR MOTORDRIVES WITH OUTPUT FILTER AND TRANSFORMER, and filed as U.S. patentapplication Ser. No. 14/666,894 on Mar. 24, 2015; U.S. Pat. No.9,054,611 issued Jun. 9, 2015 to Liu et al., entitled METHOD ANDAPPARATUS FOR STABILITY CONTROL OF OPEN LOOP MOTOR DRIVE OPERATION; U.S.Patent Application Publication No. 2015/0002067 A1 to Nondahl et al.,entitled METHOD AND APPARATUS FOR STABILITY CONTROL OF OPEN LOOP MOTORDRIVE OPERATION, and filed as U.S. patent application Ser. No.14/193,329 on Feb. 28, 2014; U.S. patent application Ser. No. 14/565,781filed Dec. 10, 2014 to Nondahl et al., entitled TRANSITION SCHEME FORPOSITION SENSORLESS CONTROL OF AC MOTOR DRIVES; U.S. patent applicationSer. No. 15/014,360 filed Feb. 3, 2015 to Royak et al., entitled CONTROLOF MOTOR DRIVES WITH OUTPUT SINEWAVE FILTER CAPACITOR CURRENTCOMPENSATION USING SINEWAVE FILTER TRANSFER FUNCTION; U.S. patentapplication Ser. No. 15/053,135 filed Feb. 25, 2016 to Nondahl et al.,entitled SENSORLESS MOTOR DRIVE VECTOR CONTROL WITH FEEDBACKCOMPENSATION FOR FILTER CAPACITOR CURRENT; and U.S. patent applicationSer. No. 15/053,273 filed Feb. 25, 2016 to Nondahl et al., entitledSENSORLESS MOTOR DRIVE VECTOR CONTROL.

BACKGROUND INFORMATION

The subject matter disclosed herein relates to power conversion, andmore specifically to controlling a power converter.

BRIEF DESCRIPTION

Various aspects of the present disclosure are now summarized tofacilitate a basic understanding of the disclosure, wherein this summaryis not an extensive overview of the disclosure, and is intended neitherto identify certain elements of the disclosure, nor to delineate thescope thereof. Rather, the primary purpose of this summary is to presentvarious concepts of the disclosure in a simplified form prior to themore detailed description that is presented hereinafter. The presentdisclosure provides power conversion systems, methods and computerreadable mediums to operate an inverter to drive a motor load through anoutput filter, in which a control output value is computed according toa current reference value and a current feedback value using aproportional-integral (PI) current regulator, the control output valueis filtered using a lag compensator filter to compute an inverter outputcommand value, and the inverter is controlled according to the inverteroutput command value.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of a motor drive power conversion systemwith an inverter driving a motor load through an output filter and atransformer.

FIG. 2 is a schematic diagram of motor control and motor speedestimation components of the motor controller in FIG. 1.

FIG. 3 is a flow diagram illustrating a method to control an inverter todrive a motor load through an intervening filter in the apparatus ofFIGS. 1 and 2.

FIG. 4 is a schematic diagram of an example motor drive power conversionsystem showing details of an example inverter controller with a currentPI regulator and filters.

FIG. 5 is a schematic diagram of a system equivalent electrical circuitcorresponding to the motor drive power conversion system of FIG. 4.

FIG. 6 is a schematic diagram of the closed loop current control loop inthe system of FIGS. 4 and 5.

FIG. 7 is a graph showing a magnitude log-log Bode plot of the transferfunction of the system of FIG. 6 for an inverter operating fundamentalfrequency of zero.

FIG. 8 is a graph showing a magnitude log-log Bode plot for a non-zeroinverter operating fundamental frequency.

FIG. 9 is a graph showing a magnitude log-log Bode plot curves for thesystem object of FIG. 6 and the current control open loop with ordinaryPI regulator.

FIG. 10 is a graph showing a magnitude log-log Bode plot curves for thesystem object of FIG. 6 and the current control open loop with PIcontroller of FIG. 4 including a single lag filter.

FIG. 11 is a graph showing a magnitude log-log Bode plot curves for thesystem object of FIG. 6 and the current control open loop with PIcontroller of FIG. 4 including two lag filters.

DETAILED DESCRIPTION

Referring now to the figures, several embodiments or implementations arehereinafter described in conjunction with the drawings, wherein likereference numerals are used to refer to like elements throughout, andwherein the various features are not necessarily drawn to scale. FIG. 1shows an example motor drive power conversion system 40 with an inverter46 to drive an output load, such as a motor 20 through an interveningfilter 30, referred to herein as an output filter or a sine wave filter.In certain implementations, as shown in FIG. 1, a transformer 50 can beconnected between the output filter 30 and the driven motor load 20.Power conversion systems typically include an inverter stage to generateand provide AC output power to a load, such as a single or multi-phaseAC motor. Pulse width modulated (PWM) output inverters provide outputcurrents and voltages that include a number of pulses. Accordingly,output filters, such as sine wave filters with inductors and capacitorsare sometimes employed between the inverter output and the driven loadto reduce the high frequency content caused by pulse width modulation ofthe inverter switches. To control stability, output filters can beequipped with damping resistors in series with the filter capacitors.However, filter damping resistors contribute to power loss in thesystem. Without on-board damping resistors, operation at or near aresonance frequency of a low damping output filter can lead to largeoscillations and instability problems. Deep well pumping applicationsand other systems that have a motor driven through an output filter, atransformer and a potentially long motor cable often use voltage controlas a function of frequency (V/Hz drives) which do not regulate currentsand do not use position estimation for control. V/Hz drives typicallysuffer from higher drive and motor losses.

The disclosed techniques and apparatus facilitate current control usinga current proportional-integral (PI) regulator with a lag compensator tofilter the control output from the PI regulator and/or to filter acurrent feedback signal consumed by the PI regulator to operate aninverter of a motor drives with an output sine wave filter, atransformer, long cable, and motor. PI regulator together with one ormultiple lag compensators further call PI controller. One or multiplefirst order lag compensator(s) can be designed based uponcharacteristics of the sine wave filter. In certain implementations, thefiltering is implemented by one or more processors of a drivecontroller, and the lag compensation is tuned according to variousparameters of the system, such as a current control loop resonancefrequency of a current control loop, an inverter operating fundamentalfrequency, a peak resonance frequency of the output filter, a PIregulator corner frequency of the PI current regulator, a desiredamplitude margin below unity at the resonance frequency of the currentcontrol loop, a desired current control loop crossover frequency of thecurrent control loop, and a plant corner frequency. Certain embodimentscan be successfully employed to facilitate accurate stable control ofvoltages and currents provided to the load in the presence of the outputfilter between the power conversion system and the load where the powerdelivered to the load is different from that delivered to the input ofthe filter. The output inverter stage of the motor drive in certainexamples can be controlled according to feedback signals measured at theinverter output terminals, but these feedback values generally do notrepresent the currents or voltages ultimately provided to the load.Feedback sensors can be provided at the load itself for directmeasurement of the load parameters, but this increases system cost, andmay not be possible in all applications. The disclosed examples can beused, for example, in sensorless position control applications, such asdeep well pump motor control where direct sensing of the motor loadposition and/or speed is difficult or impractical. In certainapplications, a step-up transformer is used to boost the motor driveoutput voltage, allowing use of a low-voltage drive to power a mediumvoltage induction motor, and/or to reduce I²R losses and facilitate useof a smaller diameter cable wire for long cable runs between the motordrive and the driven motor. Certain applications also employ outputfilters between the motor drive inverter output and the transformerprimary in order to suppress reflected wave voltage spikes associatedwith pulse width modulated (PWM) variable frequency drives. Use ofsensorless voltage-frequency control techniques may lead to problems,particularly where a transformer and/or sine wave filter is connectedbetween the motor drive and the motor load. Sensorlessfield-oriented-control (FOC) or other open loop speed control techniqueshave thus far been largely unsuitable for low-speed motor driveoperation where output filters and transformers are used, such as inelectric submersible pumps (ESPs), and these difficulties areparticularly problematic in driving permanent magnet synchronous motors(PMSMs). Moreover, motors in sensorless speed control applications alsosuffer from oscillation in rotor velocity about the setpoint speedfollowing load transitions or speed setpoint adjustments, particularlyat low speeds. In certain situations, moreover, the driven motor may beunable to start successfully from a stopped condition due to unstablemotor speed oscillations. Furthermore, operation at high speeds issometimes prevented or inhibited by the resonant frequency of theconnected output filter. In this regard, conventional motor drives andcontrol techniques often suffer from instability problems at high motorspeeds.

As seen in FIG. 1, disclosed examples include power conversion systems40, inverter control methods and controllers or control apparatus 100 todrive a motor load 20 through an intervening filter 30, which can alsobe used in combination with a transformer 50 and a potentially lengthycables 60 coupled between the filter output and the driven motor load20. FIG. 1 shows a motor drive power conversion system 40 with aninverter 46 and an inverter controller 100 configured to control currentof a driven motor load 20 based on sensed or computed inverter outputcurrent signals or values i_(u), i_(v), i_(w) representing outputcurrents flowing at an AC output 46B of the inverter 46. The controller100, moreover, is configured to compensate for the presence of an outputfilter 30 connected between the motor drive output 46B and the drivenmotor 20 using a current controller 101. In particular, the invertercontroller 100 in one example includes a processor 102 and an associatedelectronic memory 104 which stores program instructions to implement acurrent controller 101 including one or more proportional-integral (PI)regulators or PI control components 106, and one or more filters 108.

The motor drive 40 receives single or multiphase AC input power from apower source 10 and converts this to a DC bus voltage using a rectifier42 which provides a DC output voltage to a DC link circuit 44 having acapacitor C. The rectifier 42 can be a passive rectifier including oneor more diode rectifier components, or may be an active front end (AFE)system with one or more rectifier switching devices (e.g., IGBTs, etc.)and an associated rectifier controller (not shown) for converting inputAC electrical power to provide the DC bus voltage in the link circuit44. Other configurations are possible in which the drive 40 receivesinput DC power from an external source (not shown) to provide an inputto the inverter 46, in which case the rectifier 42 may be omitted. TheDC link circuit 44 may include a single capacitor C or multiplecapacitors connected in any suitable series, parallel and/orseries/parallel configuration to provide a DC link capacitance acrossinverter input terminals 46A. The illustrated motor drive 40 is avoltage source converter configuration including one or more capacitivestorage elements in the DC link circuit 44. The various concepts of thepresent disclosure may be implemented in association with current sourceconverter architectures in which a DC link circuit 44 includes one ormore inductive storage elements, such as one or more series-connectedinductors situated between the source of DC power (e.g., rectifier 42 orexternal DC source) and the input 46A of the inverter 46. In otherpossible implementations, the motor drive 40 includes a direct DC inputto receive input power from an external source (not shown), and incertain embodiments the rectifier 42 and DC link circuit 44 may both beomitted.

The DC input 46A of the inverter 46 includes first and second (e.g.,plus and minus) terminals connected to the DC link circuit 44, as wellas a plurality of switching devices S1-S6 coupled between the DC input46A and the motor drive AC output 46B. In operation, the inverterswitching devices S1-S6 are actuated by inverter switching controlsignals 101 provided by the controller 100 to convert DC electricalpower received at the DC input 46A to provide AC electrical output poweras inverter output voltages, V_(u), V_(v), and V_(w) and inverter outputcurrents i_(u), i_(v), and i_(w) at the AC output 46B. The filtercircuit 30 receives the AC output from the inverter 46 of the motordrive 40. Although illustrated as driving a permanent magnet synchronousmotor 20, the motor drive 40 can be employed in connection with othertypes of AC motor loads 20 and/or other forms of power converters todrive non-motor loads 20 using an output inverter 46. One or morefeedback signals or values may be provided from the motor 20 itself,including a motor (e.g., rotor) position or angle signal θ_(r) and amotor speed or velocity signal ω_(r), although not a strict requirementof all embodiments of the present disclosure. The concepts of thepresent disclosure advantageously facilitate the sensorless speedestimation by the inverter controller 100, and thus direct feedback fromthe driven motor load 20 is not required in all implementations. Themotor drive 40 in certain embodiments implements a motor speed and/orposition and/or torque control scheme in which the inverter controller100 selectively provides the switching control signals 101 in a closedand/or open-loop fashion according to one or more setpoint values suchas a motor speed setpoint. The setpoint in one example is a signal orvalue generated by the controller 100, or a fixed setpoint value, orsuch setpoint value can be received from an external system (not shown).In practice, the motor drive 40 may also receive a torque setpointand/or a position (e.g., angle) setpoint, and such desired signals orvalues (setpoint(s)) may be received from a user interface and/or froman external device such as a distributed control system, etc. (notshown). As used herein, a signal can be an analog signal, such as acurrent or a voltage signal, or a signal can include digital valuesgenerated or consumed by the processor 102.

The inverter 46 of the motor drive 40 is connected to the load 20through the intervening filter circuit 30. In the example of FIG. 1, thefilter 30 is an “L-C” configuration in which each of the power converteroutput lines is connected to the motor through a series-connected filterinductor L_(r) (L_(r,u), L_(r.v) and L_(r.w) in the illustratedexample). This example includes a corresponding filter capacitor C₁connected between the corresponding motor line and a common connectionpoint (a neutral of a Y-connected set of filter capacitors C_(1.u),C_(1.v) and C_(1.w) in the illustrated example). Other implementationsare possible, in which the filter capacitors C₁ are connected in a“Delta” configuration. In the illustrated (Y-connected) configuration,the filter circuit neutral point can be optionally connected to acircuit ground or other, connection point associated with the motordrive 40, although not a strict requirement of the present disclosure.The disclosed apparatus and techniques can be employed in connectionwith other forms and types of filter circuits 30, including withoutlimitation L-C-L circuits, etc.

The output of the filter circuit 30 provides motor phase currentsi_(out) to control the motor load 20. The filter capacitor currentsi_(C) flow in the filter capacitors C₁ and non-zero voltages v_(L)(i.e., filter voltages) may develop across one or more of the filterinductors L_(r), whereby simple closed-loop control based on measuredinverter output current signals or values i_(u), i_(v), i_(w) may resultin less than optimal operation of the driven load 20. At the same time,however, directly measuring the motor currents i_(out) and/or motorvoltages would require additional hardware and cabling, which may not beeconomically feasible or technically possible in certain applications.Nevertheless, for those cases where motor currents and/or motorvoltages, such as V_(u), V_(v), V_(w), V_(f) _(_) _(out) _(_) _(v), andV_(f) _(_) _(out) _(_) _(w) in FIG. 1, are measured, those signals canbe used to enhance or replace the inverter current and/or voltagesignals in the computation of the compensation signals. Certainembodiments of the inverter controller 100, however, advantageouslyprovide steady-state compensation with respect to capacitor currentbased on the plant transfer function or functions 110, 112, 114independent of the voltage feedback information. As seen in FIG. 1,moreover, the illustrated drive 40 may also include one or more currentsensors configured to measure, sense, or otherwise detect at least oneinverter output feedback signal or value (e.g., output currents i_(u),i_(v), i_(w)) which represent the output current at the AC output 46B ofthe inverter 46. The inverter controller 100 thus accommodates thepresence of the filter circuit 30 (e.g., and any optionally includedtransformer 50 and potentially lengthy motor cable 60) between the motordrive output 46B and the driven motor load 20, without requiringaddition of external sensors to sense the actual conditions at the motorload 20.

The controller 100 and the components thereof may be any suitablehardware, processor-executed software, processor-executed firmware,logic, or combinations thereof that are adapted, programmed, orotherwise configured to implement the functions illustrated anddescribed herein. The controller 100 in certain embodiments may beimplemented, in whole or in part, as software components executed usingone or more processing elements, such as one or more processors 102. Thecontroller 100 may be implemented as a set of sub-components or objectsincluding computer executable instructions stored in the electronicmemory 104 for operation using computer readable data executing on oneor more hardware platforms such as one or more computers including oneor more processors, data stores, memory, etc. The components of thecontroller 100 may be executed o the n the same computer processor or indistributed fashion in two or more processing components that areoperatively coupled with one another to provide the functionality andoperation described herein.

Referring also to FIGS. 2-4, FIG. 2 illustrates filter transferfunctions, motor control and motor speed estimation components of themotor controller 100 in the motor drive 40 of FIG. 1. Disclosed examplesinclude power conversion systems, methods and computer readable mediumsto operate an inverter 46 to drive a motor load 20 through an outputfilter 30, in which a control output value CO_(d,q) is computedaccording to a current reference value I_(d,q.ref) and a currentfeedback value I_(d,qfbk) using a proportional-integral PI currentregulator 106. The control output value CO_(d,q) is filtered using a lagcompensator filter 108 to compute an inverter output command valueV_(d,q.com), and the inverter 46 is controlled according to the inverteroutput command value V_(d,q.com). FIG. 3 illustrates a process or method300 of operating the motor drive inverter 46 to drive a motor load 20through an intervening filter 30, which can be implemented in the motorcontroller 100. The controller 100 implements a closed loop controlalgorithm including one or more proportional-integral (PI) controlcomponents or regulators 106 and filter component(s) 108 of a currentcontroller 101 in order to control the driven load 20. The controller100 in certain embodiments is configured by execution in the processor102 of instructions in the memory 104 to implement the controlconfiguration illustrated in FIG. 2, as described hereinafter inconjunction with the process 300 of FIG. 3.

The controller 100 is configured to implement the method 300, whereinthe processor 102 of FIG. 1 computes a speed error value 201 at 302according to a speed reference value Speed.ref and a speed feedbackvalue Speed.fbk, and at 304 computes a torque reference value Torque.refaccording to the speed error value 201. At 302 in one possibleimplementation, the controller 100 computes 302 a speed error value 201according to a speed reference value Speed.ref and a speed feedbackvalue Speed.fbk, for example, by subtracting the feedback value from thereference value. The feedback value can be obtained from any suitablesource, including actual speed sensors (not shown) or from a speedobserver 210 as shown in FIG. 2. As seen in FIG. 2, the controller 100implements a speed proportional-integral (PI) control component 200which receives the resulting speed error signal 201 and operatesaccording to known proportional-integral control operation to compute atorque reference value Torque.ref according to the speed error value 201at 304 in FIG. 3.

At 306, the processor 102 computes a current reference value I_(d,q.ref)according to the torque reference value Torque.ref. At 306, thecontroller 100 uses one or more lookup tables 202 or solves one or moreparametric equations (not shown) to compute one or more motor currentreference values. In the example of FIG. 2, the controller 100 computesd and q axis motor current reference values Id.motor.ref andIq.motor.ref according to the torque reference value Torque.ref, wherethis computation in certain examples includes indexing a lookup table202. In this example, moreover, the controller 100 scales the d and qaxis motor current reference values Id.motor.ref and Iq.motor.refaccording to a turns ratio 203 of any included output transformer 50 viamultiplier components 204 and 206, respectively. Other implementationsare possible that do not involve speed and/or torque control, in whichcase the computations at 302, 304 and 306 can be omitted.

At 308, the control processor 102 computes a control output valueCO_(d,q) according to a current reference value I_(d,q.ref) and acurrent feedback value I_(d,qfbk) using a proportional-integral PIcurrent regulator 106 implemented by the controller 100. At 309 theprocessor 102 filters the control output value CO_(d,q) to compute aninverter output command value V_(d,q.com) using the lag compensatorfilter 108 implemented by the controller 100. In certain examples, thePI regulator(s) 106 and the lag compensator filter(s) are implemented asprogrammable instructions stored in the memory 104 to be executed by theprocessor 102.

At 310 in FIG. 3, the processor 102 provides the inverter switchingcontrol signals 101 to control 310 the inverter 46 according to theinverter output command value V_(d,q.com) to control the inverter 46according to the inverter output current reference value(s)Id,q.inverter.ref. The controller 100 computes or estimates the speedfeedback value Speed.fbk according to any suitable measured or inferredvalue, such as inverter currents and voltages in one example. In anotherexample, the controller uses sensor information for the speed feedback.Moreover, the controller 100 in certain embodiments implementssensorless speed control according to the estimated speed feedback valueSpeed.fbk without requiring speed feedback. For instance, the controller100 can implement sensorless speed and/or position control includingcomputing a speed feedback value at 320 in FIG. 3 according to the motortorque, and the process 300 repeats at 302 as described above.

As shown in FIG. 4, in certain examples the current controller 101includes one or more of current PI regulators 106 followed by one ormore filters 108. The filters 108 include one or more first order lagcompensators as described further below to filter the control outputprovided by the current PI regulator(s) 106 in order to provide one ormore voltage command values for use in operating the inverter 60. Inother examples, as shown in dashed line in FIG. 4, the filter or filters108 a, including one or more first-order lag filters, can be implementedin a current feedback loop to filter a current feedback value or valuesin order to provide a filtered current feedback value or values to thePI regulator(s) 106. In certain embodiments, the controller 100implements voltage control. In the example of FIG. 2, the controller 100controls the inverter 46 according to the inverter output currentreference value i_(d,q.inverter.ref). In one example, the controller 100computes an inverter output voltage control value V_(in.d,q), forexample, d and q values V_(in.d) and V_(in.q) computed using voltagecontrol PI components 212 and 214, respectively, according to theinverter output current reference value(s) I_(d,q.inverter.ref) and aninverter output current value(s) I_(d,q.in). In certain examples, theinverter output current value or values I_(d,q.in) (e.g., Id._(in) andIq._(in)) can be obtained from feedback sensors (e.g., as shown in FIG.1 above), or these can be computed by the controller 100. The controller100 provides the inverter switching control signals 101 at 310 in thisexample to control the inverter 46 according to the inverter outputvoltage control value(s) V_(in.d,q).

In other possible implementations, the controller 100 operates tocontrol the inverter 46 according to the inverter output currentreference value(s) I_(d,q.inverter.ref). In this case, the controller100 computes the inverter output current value(s) I_(d,q.in) accordingto the inverter output current reference value I_(d,q.inverter.ref) andthe inverter output current value I_(d,q.in), and provides the inverterswitching control signals 101 to control the inverter 46 (e.g., at 310in FIG. 3) according to the inverter output current value I_(d,q.in). Inthis example, the PI controllers 212 and 214 provide the computedinverter output current value(s) I_(d,q.in)

The lag compensator filter 108 in certain examples includes one or morelag compensators designed according to a current control loop resonancefrequency ω_(d,q.res) of a current control loop, an inverter operatingfundamental frequency ω_(fund), a peak resonance frequency ω_(pk) of theoutput filter 30, a PI regulator corner frequency ω_(ld) of the PIcurrent regulator 106, a desired amplitude margin 1010, 1110 below unityat the resonance frequency ω_(d,q.res) of the current control loop, adesired current control loop crossover frequency ω_(co) of the currentcontrol loop, and a plant corner frequency ω_(Σ). Moreover, the drive 40and the controller 100 are programmable to adapt to different filterand/or driven motor combinations.

Referring now to FIGS. 4-11, non-limiting example lag compensationconcepts are described hereinafter, which can be employed as the post-PIregulator filters 108 in FIGS. 1-4 and/or as alternative feedbackfilters 108 a as shown in FIG. 4. FIG. 4 shows the general system blockdiagram with a sinewave filter 30, a transformer 50, a potentiallylengthy cable 60 and a motor 20, which can be used in deep well oil pumpapplications, for example.

FIG. 5 shows a system equivalent electrical circuit includingfundamental inverter output voltages 502, a power circuit of a simple LCsinewave filter 504, and an equivalent power circuit of a three-phasetransformer, cable and motor referred to the primary side of thetransformer shown at 506. In this system, a system resistance R_(sys.k)is given as R_(sys.k)=R_(tr.prime.k)+R_(cbl.prime.k)+R_(mot.prime.k). Asummation resistance R_(Σ.k) is given as R_(Σ.k)=R_(sys.k)+R_(r.k). Inaddition, system and summation inductances are given asL_(sys.k)=L_(ir.prime.k)+L_(cbl.prime.k)+L_(mot.prime.k); andL_(Σ.k)=L_(sys.k)+L_(r.k) where k=1, 2, 3.

The following presents an analysis of a current control loop implementedin the controller 100 for operation of the inverter 46 in combinationwith an output sinewave filter 30. The output filter 30, as previouslymentioned, does not include any damping resistors, and thus has a lowdamping factor and relatively low resonance frequency ω_(pk) (e.g., theresonance frequency ω_(pk) is not far from required current loopfrequency crossover).

FIG. 6 illustrates a general closed loop with the current PI regulator106 providing a command signal to a filter object 601 with an inverterobject 602, a summation resistance component 604, and a normalizedobject 608 including a first order filter component 610 and a secondorder filter component 612. The use of a low damping second order unitin the object 612 allows the object transfer function to be representedas follows (see also FIGS. 4, 5):

$\begin{matrix}{{H_{object}(p)} = {\frac{i_{m \cdot {fbk}}(p)}{V_{inv}(p)} = {\frac{1}{R_{\sum}} \cdot \frac{1}{1 + {\frac{1}{\omega_{\sum}} \cdot p}} \cdot \frac{1}{1 + {2\xi \; T_{pk}p} + {T_{pk}^{2}p^{2}}}}}} & (1)\end{matrix}$

where “ω_(Σ)” is a plant corner frequency given according to thefollowing formulas, where T_(pk) is the time constant of the outputfilter 30, C is the filter capacitance, L_(r) is the inductance of thefilter inductors, and R_(r) is the resistance of the filter inductors:

$\begin{matrix}{\omega_{\sum} = \frac{R_{\sum}}{L_{sys}}} & (2) \\{{2\xi \; T_{pk}} = {CR}_{r}} & (3) \\{T_{pk}^{2} = {CL}_{r}} & (4)\end{matrix}$

From equations 3 and 4, the following equations can be derived for thetime constant T_(pk) and a damping factor ξ:

$\begin{matrix}{T_{pk} = {\frac{1}{\omega_{pk}} = \sqrt{{CL}_{r}}}} & (5) \\{\xi = {\frac{R_{r}}{2} \cdot \sqrt{\frac{C}{L_{r}}}}} & (6)\end{matrix}$

where “ξ” and “ω_(pk)” are filter damping factor and filter resonancefrequency, respectively. A typical range of the damping factor “ξ” for astandard sinewave filter is 0.01-0.0005, and a typical range of aresonance frequency “ω_(pk)” for a standard filter is 800-1,100 Hz. Theamplitude of the resonance peak “A_(pk)” at the point of the resonancefrequency “ω_(pk)” can be calculated as follows:

$\begin{matrix}{{A_{pk}\left( \omega_{pk} \right)} = \frac{1}{2 \cdot \xi}} & (7) \\{\omega_{pk} = \frac{1}{T_{pk}}} & (8)\end{matrix}$

According to the damping factor range, the amplitude of the resonancepeak “A_(pk)” is given in one example by the following:

$\begin{matrix}{A_{pk} = {\frac{1}{2 \cdot \xi} = {\frac{1}{2\left( {0.01 - 0.0005} \right)} = {50 - 1000}}}} & (9)\end{matrix}$

Or in a decibel units:

20·log(A _(pk))=20·log(50-500)=(34−60) db   (10)

FIGS. 6 and 7 show typical Bode log-log amplitude plots for the object.The control algorithm in one example of FIG. 4 works with “d, q”variables, and the controller 100 implements corresponding coordinatetransformation blocks shown in FIG. 4. Generally, these blocks make avariables transformation from “a, b, c” or “u, v, w” to “α, β” and thenfrom “α, β” to “d, q”. The resonance frequency “ω_(pk)” of the sinewavefilter 30 is shown inside the rotational frames “a, b, c”, “u, v, w”, or“α, β”, but any Bode plot is created inside a synchronous frame “d, q”.Therefore resonance frequency of sinewave filter “ω_(pk)” is equal tothe value of equations 5, 8 above. The “d, q” resonance frequencyω_(d,q.res) inside the Bode plot will move according to the fundamentalfrequency ω_(fund) (i.e., the electrical operating frequency of theinverter 46) since the synchronous frame is rotating with thefundamental frequency. Therefore, the “d, q” resonance frequencyω_(d,q.res) can be calculated as follows:

ω_(d,q.res)=ω_(pk)−ω_(fund)   (11)

FIG. 7 is a graph 700 showing a log-log Bode plot curve 702 of themagnitude log-log transfer function of the system of FIG. 6 for theobject transfer function of an inverter operating fundamental frequencyof zero. FIG. 8 provides a graph showing a log-log Bode plot curve 802for a non-zero inverter operating fundamental frequency for the objecttransfer function, as well as a curve 804 showing the magnitude log-logtransfer function performance of the second order part of output filter30. FIG. 9 provides a graph 900 showing a magnitude log-log Bode plotcurves 902 for the system object of FIG. 6 and the entire currentcontrol loop with PI 904. FIG. 10 includes a graph 1000 showingmagnitude log-log Bode plot curve 1002 for the system object of FIG. 6and a curve 1004 the entire current control loop with PI of FIG. 4including a single lag filter. FIG. 11 shows a graph 110 including amagnitude log-log Bode plot curve 1102 for the system object of FIG. 6and a magnitude log-log curve 1104 for the entire current control loopwith PI of FIG. 4 including two lag filters.

As seen in FIG. 7, the PI regulator 106 implements a regulation functionaccording to a proportional constant K_(p) and an integral constantK_(i), and has the following transfer function:

$\begin{matrix}{H_{{PI} \cdot {ordinary}} = {{R_{\sum} \cdot \frac{1 + T_{ld}}{T_{int}p}} = {R_{\sum} \cdot \left\lbrack {{K_{i \cdot {norm}}p} + K_{p \cdot {norm}}} \right\rbrack}}} & (12) \\{K_{i \cdot {norm}} = {\frac{1}{T_{int}} = \omega_{int}}} & (13) \\{K_{p \cdot {norm}} = {\frac{T_{ld}}{T_{int}} = \frac{\omega_{int}}{\omega_{ld}}}} & (14)\end{matrix}$

Stabilizing the current control loop using an ordinary PI regulator isdifficult with appropriate current loop frequency crossover at thecrossover frequency ω_(co) of the current control loop, due to verylarge resonance peak of the output filter 30. In one possibleembodiment, the controller 100 uses PI regulators 106 in combinationwith one, two or more lag compensator units, either following the PIregulators 106 in a current control or 101, or using an alternate filterposition in the current feedback loop 108 k as shown in FIG. 4. In thefirst embodiment, with the lag compensator filter or filters 108following the PI regulator 106, the PI controller transfer function withone lag or two lag units and can be represented as follows:

$\begin{matrix}{H_{{{PI} \cdot 1}\; {{lag} \cdot {unit}}} = {{\frac{1 + T_{ld}}{T_{int}p} \cdot \frac{1}{1 + {T_{{lag}\; 1}p}}} = {\left\lbrack {{K_{i \cdot {norm}}p} + K_{p \cdot {norm}}} \right\rbrack \cdot \frac{\omega_{{lag}\; 1}}{\omega_{{lag}\; 1} + p}}}} & (15) \\{H_{{{PI} \cdot 2}{{lag} \cdot {units}}} = {{\frac{1 + T_{ld}}{T_{int}p} \cdot \frac{1}{1 + {T_{{lag}\; 1}p}} \cdot \frac{1}{1 + {T_{{lag}\; 2}p}}} = {\left\lbrack {{K_{i \cdot {norm}}p} + K_{p \cdot {norm}}} \right\rbrack \cdot \frac{\omega_{{lag}\; 1}}{\omega_{{lag}\; 1} + p} \cdot \frac{\omega_{{lag}\; 2}}{\omega_{{lag}\; 2} + p}}}} & (16)\end{matrix}$

The graph 700 in FIG. 7 shows a Bode magnitude log-log plot of thetypical object (plant) for fundamental frequency (e.g., inverteroperating frequency) equal to zero. The graph 800 in FIG. 8 shows a Bodemagnitude log-log plot of the typical object (plant) for somefundamental frequency not equal to zero. The graph 900 in FIG. 9 shows aBode magnitude log-log plot of current loop together with ordinary PIcontroller with some fundamental frequency. Below is an analysis of thesystem with the PI regulator 106 in combination with one or twofirst-order lag units to express the relationship between PI controllerparameters and system parameters. Example embodiments provideappropriate stability margin with respect to the amplitude margin at ornear the control loop resonance frequency ω_(d,q.res) as well asappropriate phase margin at the current control loop crossover frequencyω_(co).

In one example, the lag compensator filter 108 includes a first lagcompensator filter having a first lag filter corner frequency ω_(lag 1)between the current loop crossover frequency ω_(co) and the currentcontrol loop resonance frequency ω_(d,q.res). In other examples, asdiscussed further with reference to FIG. 11 below, the lag compensatorfilter 108 includes a second lag compensator filter having a second lagfilter corner frequency ω_(lag) 2 between the first lag filter cornerfrequency ω_(lag 1) and the current control loop resonance frequencyω_(d,q.res). The first and/or second lag compensators are designed toprovide a non-zero amplitude margin 1010, 1110 in FIGS. 10 and 11) belowunity at the resonance frequency ω_(d,q.res). In certain embodiments,the lag compensators are designed to provide a non-zero phase margin atthe current control loop crossover frequency ω_(co) of the currentcontrol loop.

FIG. 10 illustrates a single lag compensator example to implement thefollowing transfer function:

$\begin{matrix}{H_{{{PI} \cdot 1}\; {{lag} \cdot {unit}}} = {{R_{\sum} \cdot \frac{1 + {p\; T_{ld}}}{p\; T_{int}} \cdot \frac{1}{1 + {p\; T_{lag}}}} = {{R_{\sum} \cdot \left\lbrack {{K_{i \cdot {norm}}p} + K_{p \cdot {norm}}} \right\rbrack \cdot \frac{\omega_{lag}}{\omega_{lag} + p}} = {\left\lbrack {{K_{i}p} + K_{p}} \right\rbrack \cdot \frac{\omega_{{lag}\;}}{\omega_{lag} + p}}}}} & (17)\end{matrix}$

where the integral and proportional constants are given by the followingper equations 13 and 14:

$\begin{matrix}{K_{i} = {{R_{\sum} \cdot K_{i \cdot {norm}}} = {{R_{\sum} \cdot \frac{1}{T_{int}}} = {R_{\sum} \cdot \omega_{int}}}}} & (18) \\{K_{p} = {{R_{\sum} \cdot K_{p \cdot {norm}}} = {{R_{\sum} \cdot \frac{T_{ld}}{T_{int}}} = {R_{\sum} \cdot \frac{\omega_{int}}{\omega_{ld}}}}}} & (19)\end{matrix}$

FIG. 10 represents the Bode magnitude log-log plot for the above currentloop with the current controller 101 that includes a first or single lagcompensator unit and the fundamental frequency ω_(fund) is equal to amaximum value. As seen in FIG. 10 it is desired to add an additionalparameter that can be called amplitude “margin” 1010. Typically, thismargin 1010 should be not less than 1.5 (3.5 db) (arbitrary number) ormore due to a filter resistor variation (see equations 6, 7, and 9). Incertain examples, the relationship between the filter resonancefrequency “ω_(pk)”, the current loop frequency crossover “ω_(co)” andthe rest of PI controller's parameters are designed according to thecondition is shown in FIG. 10 (a single lag compensator unit approach).

For the triangle “FGM” in FIG. 10, the following holds:

$\begin{matrix}{{20\; {\log ({MG})}} = {{20\; {\log ({FM})}} = {{{20\; {\log \left( \omega_{lag} \right)}} - {20\; {\log \left( \omega_{{co} \cdot 1} \right)}}} = {20\; {\log \left( \frac{\omega_{lag}}{\omega_{{co} \cdot 1}} \right)}}}}} & (20)\end{matrix}$

Or:

$\begin{matrix}{{MG} = {\frac{\omega_{lag}}{\omega_{{co}{.1}}}.}} & \left( {20a} \right)\end{matrix}$

For the triangle “DGM”, the following holds:

$\begin{matrix}{{20\; {\log ({MG})}} = {{40\; {\log ({DM})}} = {{{40\; {\log \left( \omega_{lag} \right)}} - {40\; {\log \left( \omega_{D} \right)}}} = {20\; {\log \left( \frac{\omega_{lag}^{2}}{\omega_{D}^{2}} \right)}}}}} & (21)\end{matrix}$

Or:

$\begin{matrix}{{MG} = \frac{\omega_{lag}^{2}}{\omega_{D}^{2}}} & (22)\end{matrix}$

From equations 20a and 22, the following can be derived:

$\begin{matrix}{{{\frac{\omega_{lag}}{\omega_{{co} \cdot 1}} = \frac{\omega_{lag}^{2}}{\omega_{D}^{2}}},{{or}\text{:}}}{{\omega_{D} = \sqrt{\omega_{{co} \cdot 1} \cdot \omega_{lag}}},}} & (23)\end{matrix}$

where “ω_(co.1)” is a current loop frequency crossover for the singlelag unit approach.

For the triangle “DKN”, using equation 16, the following holds:

$\begin{matrix}{{20\; {\log ({NK})}} = {{{40\; {\log \left( {\omega_{pk} - \omega_{fund}} \right)}} - {40{\log \left( \omega_{D} \right)}}} = {{{40\; {\log \left( {\omega_{pk} - \omega_{fund}} \right)}} - {40\; {\log \left( \sqrt{\omega_{{co} \cdot 1} \cdot \omega_{lag}} \right)}}} = {20\; {{\log \left( \frac{\left( {\omega_{pk} - \omega_{fund}} \right)^{2}}{\omega_{{co} \cdot 1} \cdot \omega_{lag}} \right)}.}}}}} & (24)\end{matrix}$

where “ω_(fund”) is the fundamental frequency (maximum fundamentalfrequency determined by a specific application. The lag compensatorfilter 108 in one example includes a first lag compensator filter havinga first lag filter corner frequency (ω_(lag 1)) between the current loopfrequency crossover (ω_(co)) and the current control loop resonancefrequency (ω_(d,q.res):)

ω_(lag.1)=α·ω_(co.1)   (25)

A minimum value for the coefficient “α” can be selected based on anappropriate additional phase shift that “lag unit” brings into anoverall phase shift at the current loop frequency crossover point. Incertain examples, the first lag compensator (and any included second lagcompensator) is designed to provide a non-zero phase margin (1010, 1110in FIGS. 10 and 11) at the current control loop crossover frequency(ω_(co)) of the current control loop. For example, this additional phaseshift should not be more than 25 degrees (arbitrary number). Therefore“α_(min)” can be calculated as follows:

$\begin{matrix}{{25^{0} > {a\; {\tan \left\lbrack \frac{\omega_{{co} \cdot 1}}{\omega_{{lag} \cdot \min}} \right\rbrack}}} = {a\; {\tan \left\lbrack \frac{1}{a_{\min}} \right\rbrack}}} & (26)\end{matrix}$

Or, from (26):

α_(min)=2.144   (26a)

In a future calculation we will use round “a_(min)“” as follows:

α_(min)=2   (27),

Then:

$\begin{matrix}{{{atan}\left\lbrack \frac{1}{2} \right\rbrack} = 26.56^{0}} & \left( {27a} \right)\end{matrix}$

Digital implementation brings a limit for maximum value of thiscoefficient. Practically, good performance for a first order filter canbe achieved if the maximum corner frequency (ω_(lag.max)) is no largerthan 10% from firmware scan frequency (ω_(scan)) (where 10% is practicalarbitrary number). Usually the firmware scan frequency (ω_(scan)) can bedetermined as follows:

ω_(scan)=2·(2·π·f _(carrier))   (28)

And therefore:

$\begin{matrix}{\omega_{{{lag}.{ma}}\; x} = {\frac{4 \cdot \pi \cdot f_{carrier}}{10} = \frac{\pi \cdot f_{carrier}}{2.5}}} & \left( {28a} \right)\end{matrix}$

Therefore for “α_(max)” the following can be written:

$\begin{matrix}{a_{{ma}\; x} = {\frac{\omega_{{{lag}.{ma}}\; x}}{\omega_{{{co}{{.1}.{real}}}\;}} = \frac{\pi \cdot f_{carrier}}{2.5 \cdot \omega_{{co}{{.1}.{real}}}}}} & (29)\end{matrix}$

Finally:

α_(min)<α<α_(max)   (30

Or:

$\begin{matrix}{2 < a < \frac{\pi \cdot f_{carrier}}{2.5 \cdot \omega_{{co}{.1}}}} & (31)\end{matrix}$

From (24) and (25) we can derive:

$\begin{matrix}{{NK} = {\frac{\left( {\omega_{p\; k} - \omega_{fund}} \right)^{2}}{\omega_{{co}{.1}} \cdot \omega_{lag}} = \frac{\left( {\omega_{p\; k} - \omega_{fund}} \right)^{2\;}}{a \cdot \omega_{{{co}{.1}}\;}^{2}}}} & (32)\end{matrix}$

In addition, (see FIG. 10):

$\begin{matrix}{{{20{\log ({NK})}} = {{{20{\log \left( \frac{1}{2 \cdot \xi} \right)}} + {20{\log ({margin})}}} = {20{\log \left( \frac{margin}{2 \cdot \xi} \right)}}}}{and}{{NK} = \frac{margin}{2 \cdot \xi}}} & (33)\end{matrix}$

where the stability margin limit can be determine as follows (3.5 db isa practical arbitrary number):

3.5 db≤20 log(margin). Or: 1.5≤margin and margin_(min)=1.5    (34)

Appropriate values can be calculated for current loop frequencycrossover using equations 32 and 33:

$\begin{matrix}{\omega_{co} = {\left( {\omega_{p\; k} - \omega_{fund}} \right) \cdot \sqrt{\frac{2 \cdot \xi}{a \cdot {margin}}}}} & (35)\end{matrix}$

Or, with the help of equations 27 and 34:

$\begin{matrix}{\omega_{{{co}.{ma}}\; x} = {{\left( {\omega_{p\; k} - \omega_{{{fund}.{ma}}\; x}} \right) \cdot \sqrt{\frac{2 \cdot \xi}{a_{m\; i\; n} \cdot {margin}_{m\; i\; n}}}} = {{\left( {\omega_{p\; k} - \omega_{{{fund}.{ma}}\; x}} \right) \cdot \sqrt{\frac{\xi}{1.5}\;}} = {\frac{\left( {\omega_{p\; k} - \omega_{{{fund}.\; m}\; {ax}}} \right)}{1.2247} \cdot \sqrt{\xi}}}}} & (36)\end{matrix}$

According to equation 36, a current loop frequency crossover can beselected as follows:

$\begin{matrix}{{\omega_{\Sigma} \leq \omega_{{co}{{.1}.{real}}} \leq {\frac{\left( {\omega_{p\; k} - \omega_{{{fund}.{ma}}\; x}} \right)}{1.2247} \cdot \sqrt{\xi}}},} & (37)\end{matrix}$

Where “ω_(Σ)” is the plant corner frequency (see equation 2).

According to (27, and 29) the following can be written:

$\begin{matrix}{{2 \cdot \omega_{{co}{{.1}.{real}}}} \leq \omega_{{lag}.{real}} \leq \frac{\pi \cdot f_{carrier}}{2.5 \cdot \omega_{{co}{.1}}}} & (38)\end{matrix}$

And real margin can be calculated from (25, 32 and 33) as follows:

$\begin{matrix}{{margin}_{real} = {\frac{2 \cdot \xi \cdot \left( {\omega_{p\; k} - \omega_{{fund}.{real}}} \right)^{2}}{a_{real} \cdot \omega_{{co}{{.1}.{real}}}^{2}} = \frac{2 \cdot \xi \cdot \left( {\omega_{p\; k} - \omega_{{fund}.{real}}} \right)^{2}}{\omega_{{co}{{.1}.{real}}} \cdot \omega_{{lag}.{real}}}}} & (39)\end{matrix}$

Now we need to determine appropriate “K_(i),K_(p)” values.

From triangle “ZYF” the following can be written:

$\begin{matrix}{{20{\log ({ZY})}} = {{20{\log ({ZF})}} = {{{20{\log \left( \omega_{{co}{.1}} \right)}} - {20{\log \left( \omega_{ld} \right)}}} = {20{\log \left( \frac{\omega_{{co}{.1}}}{\omega_{ld}} \right)}}}}} & (40)\end{matrix}$

Or:

$\begin{matrix}{{ZY} = \frac{\omega_{{co}{.1}}}{\omega_{ld}}} & (41)\end{matrix}$

From triangle “ZYE” the following can be written:

$\begin{matrix}{{20{\log ({ZY})}} = {{40{\log ({ZE})}} = {{{40{\log \left( \omega_{E} \right)}} - {40{\log \left( \omega_{ld} \right)}}} = {{40{\log \left( \frac{\omega_{E}}{\omega_{ld}} \right)}} = {20{\log \left( \frac{\omega_{E}^{2}}{\omega_{ld}^{2}} \right)}}}}}} & (42)\end{matrix}$

Or:

$\begin{matrix}{{ZY} = \frac{\omega_{E}^{2}}{\omega_{ld}^{2}}} & (43)\end{matrix}$

From (41) and (43):

ω_(E) ²=ω_(co.1)·ω_(ld)   (44)

From triangle “XPE” the following can be written:

$\begin{matrix}{{20{\log ({PX})}} = {{40{\log ({XE})}} = {{{40{\log \left( \omega_{E} \right)}} - {40{\log \left( \omega_{\Sigma} \right)}}} = {20{\log \left( \frac{\omega_{E}^{2}}{\omega_{\Sigma}^{2}} \right)}}}}} & (45)\end{matrix}$

Or with the help of (44):

$\begin{matrix}{{PX} = {\frac{\omega_{E}^{2}}{\omega_{\Sigma}^{2}} = \frac{\omega_{{co} \cdot 1} \cdot \omega_{ld}}{\omega_{\Sigma}^{2}}}} & (46)\end{matrix}$

Now, from triangle “XPB” the following can be written:

$\begin{matrix}{{20\; {\log ({PX})}} = {{20\; {\log ({BX})}} = {{{20\; {\log \left( \omega_{int} \right)}} - {20\; {\log \left( \omega_{\Sigma} \right)}}} = {20\; {\log \left( \frac{\omega_{int}}{\omega_{\Sigma}} \right)}}}}} & (47)\end{matrix}$

Or:

$\begin{matrix}{({PX}) = \frac{\omega_{int}}{\omega_{\Sigma}}} & (48)\end{matrix}$

From (46) and (48):

$\begin{matrix}{\omega_{int} = \frac{\omega_{{co} \cdot 1} \cdot \omega_{ld}}{\omega_{\Sigma}}} & (49)\end{matrix}$

Let's take into account equation (2), then:

$\begin{matrix}{\omega_{int} = \frac{L_{sys} \cdot \omega_{{co} \cdot 1} \cdot \omega_{ld}}{R_{\Sigma}}} & (50)\end{matrix}$

Let's determine the limitation for “ω_(ld)” as follows:

ω_(Σ)≤ω_(ld.real)≤ω_(co.1.real)   (51)

Let's represent “ω_(ld)” using the following equality:

ω_(ld) =b·ω _(Σ)  (52)

Or

$\begin{matrix}{b = \frac{\omega_{ld}}{\omega_{\Sigma}}} & \left( {52a} \right)\end{matrix}$

According to (51) limitation for “b” can be written as follows:

$\begin{matrix}{1 \leq b_{real} \leq \frac{\omega_{{co} \cdot 1 \cdot {real}}}{\omega_{\Sigma}}} & (53)\end{matrix}$

Finally “K_(i)” and “K_(p)” can be determined according to equations(18, 50) and (19, 50) as follows:

K _(i) =R _(Σ)·ω_(int) =L _(sys)ω_(co.1.real)ω_(ld) =L_(sys)·ω_(co.1.real) ·b _(real)·ω_(Σ)   (54)

$\begin{matrix}{K_{p} = {{R_{\Sigma} \cdot \frac{\omega_{int}}{\omega_{ld}}} = {L_{sys} \cdot \omega_{{co} \cdot 1 \cdot {real}}}}} & (55)\end{matrix}$

Or:

K _(i) =K _(p)ω_(ld) =K _(p) ·b _(real)·ω_(Σ)  (56)

Equations (39, 51-56) determines all PI controller parameters.

To determine PI controller's parameters more precisely let's analyzephase margin at the current loop frequency crossover point.

According to FIG. 6 the open current loop transfer function can bewritten as follows:

$\begin{matrix}{{H_{{i \cdot {open}} - {loop}}(p)} = {{{H_{PI}(p)} \cdot {H_{inv}(p)} \cdot {H_{object}(p)}} = {\quad{\left\lbrack {R_{\Sigma} \cdot \frac{\left( {1 + {pT}_{ld}} \right)}{{pT}_{int}} \cdot \frac{1}{1 + {pT}_{lag}}} \right\rbrack \cdot {\quad{\left\lbrack e^{\omega \cdot \tau} \right\rbrack \cdot \left\lbrack {\frac{1}{R_{\Sigma}} \cdot \frac{1}{1 + {pT}_{\Sigma}} \cdot \frac{1}{1 + {2\xi \; T_{pk}p} + {T_{pk}^{2}p^{2}}}} \right\rbrack}}}}}} & (57)\end{matrix}$

Finally:

$\begin{matrix}{{H_{{i \cdot {open}} - {loop}}(p)} = {{{H_{PI}(p)} \cdot {H_{inv}(p)} \cdot {H_{object}(p)}} = {\frac{1}{{pT}_{int}} \cdot e^{\omega \cdot \tau} \cdot \left( {1 + {pT}_{ld}} \right) \cdot \frac{1}{1 + {pT}_{lag}} \cdot \frac{1}{1 + {pT}_{\Sigma}} \cdot \frac{1}{1 + {2\xi \; T_{pk}p} + {T_{pk}^{2}p^{2}}}}}} & (58)\end{matrix}$

Where “τ” is inverter time delay and can be represented as follows:

$\begin{matrix}{\tau = \frac{1}{f_{{carrier} \cdot {inverter}}}} & (59)\end{matrix}$

Appropriate phase margin at the point of current loop frequencycrossover can be determine based on the follows equation:

Δφ⁰(ω_(co.1.real))=180⁰φ_(total-phase-shift-open-current-loop)≥30⁰   (60)

Where “30⁰” is a practical arbitrary phase margin.

According to (58, 60) the following can be written:

$\begin{matrix}{{{\Delta\phi}^{0}\left( \omega_{{co} \cdot 1 \cdot {real}} \right)} = {{180^{0} - 90^{0} - {\frac{180^{0}}{\pi} \cdot \left\lbrack {{\tau \cdot \omega_{{co} \cdot 1 \cdot {real}}} + {a\; {\tan \left( \frac{\omega_{{co} \cdot 1 \cdot {real}}}{\omega_{lag}} \right)}} + {a\; {\tan \left( \frac{\omega_{{co} \cdot 1 \cdot {real}}}{\omega_{\Sigma}} \right)}} - {a\; {\tan \left( \frac{\omega_{{co} \cdot 1 \cdot {real}}}{\omega_{ld}} \right)}} + {a\; {\tan\left( \frac{2 \cdot \xi \cdot \omega_{{co} \cdot 1 \cdot {real}}}{\omega_{pk} - \frac{\omega_{{co} \cdot 1 \cdot {real}}^{2}}{\omega_{pk}}} \right)}}} \right\rbrack}} \geq 30^{0}}} & (61)\end{matrix}$

Practically, term

$``{\frac{180^{0}}{\pi} \cdot \left\lbrack {a\; {\tan\left( \frac{2 \cdot \xi \cdot \omega_{{co} \cdot 1 \cdot {real}}}{\omega_{pk} - \frac{\omega_{{co} \cdot 1 \cdot {real}}^{2}}{\omega_{pk}}} \right)}} \right\rbrack}"$

is very small (less than 1 degree) and can be omitted.

Finally, phase margin can be rewritten as follows:

$\begin{matrix}{{{\Delta\phi}^{0}\left( \omega_{{co} \cdot 1 \cdot {real}} \right)} = {{90^{0} - {\frac{180^{0}}{\pi} \cdot \left\{ {{\tau \cdot \omega_{{co} \cdot 1 \cdot {real}}} + {a\; {\tan \left( \frac{\omega_{{co} \cdot 1 \cdot {real}}}{\omega_{{lag} \cdot {real}}} \right)}} + \left\lbrack {{a\; {\tan \left( \frac{\omega_{{co} \cdot 1 \cdot {real}}}{\omega_{\Sigma}} \right)}} - {a\; {\tan\left( \frac{\omega_{{co} \cdot 1 \cdot {real}}}{\omega_{{ld} \cdot {real}}} \right)}}} \right\rbrack} \right\}}} \geq 30^{0}}} & (62)\end{matrix}$

Or, after some manipulation:

$\begin{matrix}{{{\Delta\phi}^{0}\left( \omega_{{co} \cdot 1 \cdot {real}} \right)} = {{90^{0} - {\frac{180^{0}}{\pi} \cdot \left\{ {{\tau \cdot \omega_{{co} \cdot 1 \cdot {real}}} + {a\; {\tan\left( \frac{\omega_{{co} \cdot 1 \cdot {real}}}{\omega_{{lag} \cdot {real}}} \right)}} + {a\; {\tan\left( \frac{\omega_{{co} \cdot 1 \cdot {real}} \cdot \left( {\omega_{{ld} \cdot {real}} - \omega_{\Sigma}} \right)}{{\omega_{{ld} \cdot {real}} \cdot \omega_{\Sigma}} + \omega_{{co} \cdot 1 \cdot {real}^{2}}} \right)}}} \right\}}} \geq 30^{0}}} & \left( {62a} \right)\end{matrix}$

Or:

$\begin{matrix}{{\Delta \; {\phi^{0}\left( \omega_{{co}{{.1}.{real}}} \right)}} = {{90^{{^\circ}} - {\left( \frac{180^{\circ}}{\pi} \right) \cdot \left\{ {\left( {\omega_{{co}{{.1}.{real}}} \cdot \tau} \right) + \left\lbrack {a\; {\tan \left( \frac{x + y}{1 - {x \cdot y}} \right)}} \right\rbrack} \right\}}} > 30^{{^\circ}}}} & \left( 63 \right.\end{matrix}$

Where:

$\begin{matrix}{y = {\frac{\omega_{{co} \cdot 1 \cdot {real}} \cdot \left( {\omega_{{ld} \cdot {real}} - \omega_{\Sigma}} \right)}{{\omega_{{ld} \cdot {real}} \cdot \omega_{\Sigma}} + {\omega_{{co} \cdot 1 \cdot {real}}}^{2}} = \frac{\omega_{{co} \cdot 1 \cdot {real}} \cdot \omega_{\Sigma} \cdot \left( {b_{real} - 1} \right)}{{b_{real} \cdot \omega_{\Sigma}^{2}} + {\omega_{{co} \cdot 1 \cdot {real}}}^{2}}}} & (65)\end{matrix}$

Manipulate with “ω_(ld)”, “ω_(lag)”, sometimes “ω_(co.1.real)” and takeinto account (37, 38, and 51) finally we can establish all necessary PIcontroller's parameters with appropriate phase margin.

FIG. 11 shows another example using first and second lag units, wherethe transfer function can be represented as follows:

$\begin{matrix}{H_{{PI} - {2{lag}}} = {{R_{\sum} \cdot \frac{1 + {pT}_{ld}}{{pT}_{int}} \cdot \frac{1}{1 + {pT}_{{lag}\; 1}} \cdot \frac{1}{1 + {pT}_{{lag}\; 2}}} = {\left\lbrack {{K_{i}p} + K_{p}} \right\rbrack \cdot \frac{\omega_{{lag}\; 1}}{\omega_{{lag}\; 1} + p} \cdot \frac{\omega_{{lag}\; 2}}{\omega_{{lag}\; 2} + p}}}} & (66)\end{matrix}$

Where “K_(i)” and “K_(p)” can be determined by according to equations(18-19).

FIG. 11 represents general Bode log-log plot for the above current loopwith a controller that includes two lag units. As you can see with twolag units approach current loop frequency crossover can be reached welllarger value with the same stability margin. The following demonstratesa relationship between the filter resonance frequency “ω_(pk)”, thecurrent loop frequency crossover “ω_(co)” and the rest of controller'sparameters according to the condition is shown on FIG. 11.

For triangle “SRT” the following can be written:

$\begin{matrix}{{20{\log ({TR})}} = {{60{\log ({TS})}} = {{{60{\log \left( \omega_{{lag} \cdot 2} \right)}} - {60{\log \left( \omega_{S} \right)}}} = {60{\log \left( \frac{\omega_{{lag} \cdot 2}^{3}}{\omega_{S}^{3}} \right)}}}}} & (67)\end{matrix}$

Or:

$\begin{matrix}{{TR} = {\frac{\omega_{{lag}{.2}}^{3}}{\omega_{S}^{3}}.}} & (68)\end{matrix}$

For triangle “DTR” the following can be written:

$\begin{matrix}{{20{\log ({TR})}} = {{40{\log ({TD})}} = {{{40{\log \left( \omega_{{lag} \cdot 2} \right)}} - {40{\log \left( \omega_{D} \right)}}} = {40{\log \left( \frac{\omega_{{lag} \cdot 2}^{2}}{\omega_{D}^{2}} \right)}}}}} & (69)\end{matrix}$

Or:

$\begin{matrix}{{TR} = {\frac{\omega_{{lag}{.2}}^{2}}{\omega_{D}^{2}}.}} & (70)\end{matrix}$

From (68) and (70) we can derive:

$\begin{matrix}{\frac{\omega_{{lag} \cdot 2}^{3}}{\omega_{S}^{3}} = \frac{\omega_{{lag} \cdot 2}^{2}}{\omega_{D}^{2}}} & (71) \\{{Or}\text{:}} & \; \\{\omega_{S}^{3} = {\frac{\omega_{{lag} \cdot 2}^{3} \cdot \omega_{D}^{2}}{\omega_{{lag} \cdot 2}^{2}} = {\omega_{{lag} \cdot 2} \cdot \omega_{D}^{2}}}} & (72)\end{matrix}$

For triangle “FGM” the following can be written:

$\begin{matrix}{{{20{\log ({MG})}} = {{20{\log ({FM})}} = {{{20{\log \left( \omega_{{lag} \cdot 1} \right)}} - {20{\log \left( \omega_{{co} \cdot 2} \right)}}} = {20{\log \left( \frac{\omega_{{lag} \cdot 1}}{\omega_{{co} \cdot 2}} \right)}}}}},{{where}\mspace{14mu} {``\omega_{{co} \cdot 2}"}{\mspace{11mu} \;}{is}\mspace{14mu} a\mspace{14mu} {current}{\mspace{11mu} \;}{loop}{\mspace{11mu} \;}{frequency}\mspace{14mu} {crossover}\mspace{14mu} {for}\mspace{14mu} 2\mspace{14mu} {lag}\mspace{14mu} {units}}} & (73)\end{matrix}$

approach.

Or:

MG=ω _(lag.1)/ω_(co.2)   (74)

For triangle “DGM” the following can be written:

$\begin{matrix}{{20{\log ({MG})}} = {{{40{\log \left( \omega_{{lag} \cdot 1} \right)}} - {40{\log \left( \omega_{D} \right)}}} = {20{\log \left( \frac{\omega_{{lag} \cdot 1}^{2}}{\omega_{D}^{2}} \right)}}}} & (75)\end{matrix}$

Or:

$\begin{matrix}{{MG} = \frac{\omega_{{lag}{.1}}^{2}}{\omega_{D}^{2}}} & (76)\end{matrix}$

From (74) and (76) we can derive:

$\begin{matrix}{\frac{\omega_{{lag} \cdot 1}}{\omega_{{co} \cdot 2}} = \frac{\omega_{{lag} \cdot 1}^{2}}{\omega_{D}^{2}}} & (77)\end{matrix}$

Or:

ω_(D)=√{square root over (ω_(co.2)·ω_(lag.1))}  (78)

From (72) and (78) we can derive:

ω_(S) ³=ω_(lag.2)·ω_(D) ²=ω_(co.2)·ω_(lag.1)·ω_(lag.2)   (79)

For triangle “SNK” the following can be written:

$\begin{matrix}{{20{\log ({NK})}} = {{60{\log ({NS})}} = {{{60{\log \left( {\omega_{pk} - \omega_{fund}} \right)}} - {60{\log \left( \omega_{S} \right)}}} = {20{\log \left( \frac{\left( {\omega_{pk} - \omega_{fund}} \right)^{3}}{\omega_{S}^{3}} \right)}}}}} & (80)\end{matrix}$

Or:

$\begin{matrix}{{NK} = \frac{\left( {\omega_{pk} - \omega_{fund}} \right)^{3}}{\omega_{S}^{3}}} & (81)\end{matrix}$

From (79) and (81) we can derive:

$\begin{matrix}{\mspace{76mu} {{NK} = \frac{\left( {\omega_{pk} - \omega_{fund}} \right)^{3}}{\omega_{{co} \cdot 2} \cdot \omega_{{lag} \cdot 1} \cdot \omega_{{lag} \cdot 2}}}} & (82) \\{{20{\log ({NK})}} = {{{20{\log ({KW})}} + {20{\log ({NW})}}} = {{{20{\log \left( \frac{1}{2 \cdot \xi} \right)}} + {20{\log ({margin})}}} = {20{\log \left( \frac{margin}{2 \cdot \xi} \right)}}}}} & (83)\end{matrix}$

A stability margin limit can be determine as follows (3.5 db is apractical arbitrary number):

3.5 db≤20 log(margin)   (84)

Or:

1.5≤margin   (85)

From (85):

margin_(min)=1.5   (86)

Therefore from equation (83):

$\begin{matrix}{{NK} = \frac{margin}{2 \cdot \xi}} & (87)\end{matrix}$

Finally, we can calculate a limit value for current loop frequencycrossover using equations (82, 86, and 87):

$\begin{matrix}{\omega_{{co} \cdot 2 \cdot \max} = \frac{2 \cdot \xi \cdot \left( {\omega_{pk} - \omega_{{fund} \cdot \max}} \right)^{3}}{{margin}_{\min} \cdot \omega_{{lag} \cdot 1 \cdot {real}} \cdot \omega_{{lag} \cdot 2 \cdot {real}}}} & (88)\end{matrix}$

According to equations (25, 27)

ω_(lag.1.min)=2·ω_(co2)   (89)

According to equation (27a) maximum phase shift at a current loopfrequency crossover for “ω_(lag.1.min)” equals:

Δφ⁰(ω_(lag.1.min(@ω) _(co.2) ₎)=26.56⁰   (89a)

“ω_(lag.2)” can be represented as follows:

ω_(lag.2) =d·ω _(co.2)   (90)

Practically (just for example) this additional phase shift should not bemore than 15 degrees (arbitrary number). Therefore “d_(min)” can becalculated as follows:

$\begin{matrix}{{15^{0} > {{atan}\left\lbrack \frac{\omega_{{co} \cdot 2}}{\omega_{{lag} \cdot 2 \cdot \min}} \right\rbrack}} = {{atan}\left\lbrack \frac{1}{d_{\min}} \right\rbrack}} & \left( {90a} \right)\end{matrix}$

Or, from (26):

d_(min)=3.73   (90b)

In a future calculation we will use round “d_(min)” as follows:

d_(min)=3.5   (90c),

Then:

$\begin{matrix}{{{atan}\left\lbrack \frac{1}{3.5} \right\rbrack} = 15.94^{0}} & \left( {90d} \right)\end{matrix}$

Therefore combined additional phase shift from 2 lag units equals (seeequations 89a and 90d):

Δφ_(2.lag.units) ⁰=Δφ⁰(ω_(lag.1.min(@ω) _(co.2) ₎)+Δφ⁰(ω_(lag.2.min(@ω)_(co.2) ₎)=26.56⁰+15.94⁰=42.5⁰   (90e).

ω_(lag.2.min)=3.5·ω_(co.2)   (91)

Now we can recalculate current loop frequency crossover limit (88) withthe help of equations (86, 89, and 91) as follows:

$\begin{matrix}{\omega_{{co} \cdot 2 \cdot \max} = {{\left( {\omega_{pk} - \omega_{{fund} \cdot \max}} \right) \cdot \sqrt[3]{\frac{2 \cdot \xi}{a_{\min} \cdot d_{\min} \cdot {margin}_{\min}}}} = {{\left( {\omega_{pk} - \omega_{{fund} \cdot \max}} \right) \cdot \sqrt[3]{\frac{\xi}{5.25}}} = {\frac{\left( {\omega_{pk} - \omega_{{fund} \cdot \max}} \right)}{1.738} \cdot \sqrt[3]{\xi}}}}} & (92)\end{matrix}$

According to (92) with some additional margin we can choose any currentloop frequency crossover as follows:

$\begin{matrix}{\omega_{\sum} \leq \omega_{{co} \cdot 2 \cdot {real}} \leq {\frac{\left( {\omega_{pk} - \omega_{{fund} \cdot \max}} \right)}{1.738} \cdot \sqrt[3]{\xi}}} & (93)\end{matrix}$

Minimum corner frequency of a lag1 unit can be calculated as follows:

ω_(lag.1.min)=2·ω_(co.2.real)   (94)

Minimum corner frequency of a lag2 unit can be calculated as follows:

ω_(lag.2.min)=3.5·ω_(co.2.real)   (95)

According to (94, 95) and practical digital implementation (29) of lagunits the following can be written:

$\begin{matrix}{{2 \cdot \omega_{{co} \cdot 2 \cdot {real}}} \leq \omega_{{la} \cdot 1 \cdot {real}} \leq \frac{\pi \cdot f_{carrier}}{2.5 \cdot \omega_{{co} \cdot 2 \cdot {real}}}} & (96) \\{{3.5 \cdot \omega_{{co} \cdot 2 \cdot {real}}} \leq \omega_{{lag} \cdot 2 \cdot {real}} \leq \frac{\pi \cdot f_{carrier}}{2.5 \cdot w_{{co} \cdot 2 \cdot {real}}}} & (97)\end{matrix}$

And real margin can be calculated as follows:

$\begin{matrix}{{margin}_{real} = \frac{2 \cdot \xi \cdot \left( {\omega_{pk} - \omega_{{fund} \cdot \max}} \right)^{3}}{\omega_{{co} \cdot 2 \cdot {real}} \cdot \omega_{{lag} \cdot 1 \cdot {real}} \cdot \omega_{{lag} \cdot 2 \cdot {real}}}} & (98)\end{matrix}$

Now we need to determine appropriate “K_(i), K_(p)” values.

From triangle “ZYF” the following can be written:

$\begin{matrix}{{20\; {\log ({ZY})}} = {{20\; {\log ({ZF})}} = {{{20\; {\log \left( \omega_{{co} \cdot 2} \right)}} - {20\; {\log \left( \omega_{ld} \right)}}} = {20\; {\log \left( \frac{\omega_{{co} \cdot 2}}{\omega_{ld}} \right)}}}}} & (99)\end{matrix}$

Or:

$\begin{matrix}{{ZY} = \frac{\omega_{{co} \cdot 2}}{\omega_{ld}}} & (100)\end{matrix}$

From triangle “ZYE” the following can be written:

$\begin{matrix}{{20\; {\log ({ZY})}} = {{40\; {\log ({ZE})}} = {{{40\; {\log \left( \omega_{E} \right)}} - {40\; {\log \left( \omega_{ld} \right)}}} = {{40\; {\log \left( \frac{\omega_{E}}{\omega_{ld}} \right)}} = {20\; {\log \left( \frac{\omega_{E}^{2}}{\omega_{ld}^{2}} \right)}}}}}} & (101)\end{matrix}$

Or:

$\begin{matrix}{{ZY} = \frac{\omega_{E}^{2}}{\omega_{ld}^{2}}} & (102)\end{matrix}$

From (100) and (102):

ω_(E) ²=ω_(co.2)·ω_(ld)   (103)

From triangle “XPE” the following can be written:

$\begin{matrix}{{20\; {\log ({PX})}} = {{40\; {\log ({XE})}} = {{{40\; {\log \left( \omega_{E} \right)}} - {40\; {\log \left( \omega_{\Sigma} \right)}}} = {20\; {\log \left( \frac{\omega_{E}^{2}}{\omega_{\Sigma}^{2}} \right)}}}}} & (104)\end{matrix}$

Or with the help of (103):

$\begin{matrix}{{PX} = {\frac{\omega_{E}^{2}}{\omega_{\Sigma}^{2}} = \frac{\omega_{{co} \cdot 2} \cdot \omega_{ld}}{\omega_{\Sigma}^{2}}}} & (105)\end{matrix}$

Now, from triangle “XPB” the following can be written:

$\begin{matrix}{{20\; {\log ({PX})}} = {{20\; {\log ({BX})}} = {{{20\; {\log \left( \omega_{int} \right)}} - {20\; {\log \left( \omega_{\Sigma} \right)}}} = {20\; {\log \left( \frac{\omega_{int}}{\omega_{\Sigma}} \right)}}}}} & (106)\end{matrix}$

Or:

$\begin{matrix}{({PX}) = \frac{\omega_{int}}{\omega_{\Sigma}}} & (107)\end{matrix}$

From (105) and (107):

$\begin{matrix}{\omega_{int} = \frac{\omega_{{co} \cdot 2} \cdot \omega_{ld}}{\omega_{\Sigma}}} & (108)\end{matrix}$

Let's take into account equation (2), then:

$\begin{matrix}{\omega_{int} = \frac{L_{sys} \cdot \omega_{{co} \cdot 2} \cdot \omega_{ld}}{R_{\Sigma}}} & (109)\end{matrix}$

Let's determine the limitation for “ω_(ld)” as follows:

ω_(Σ)≤ω_(ld)≤ω_(co.2.real)   (110)

Finally “K_(i)” and “K_(p)” can be determined according to equations(18, 109) and (19, 110) as follows:

$\begin{matrix}{K_{p} = {{R_{\Sigma} \cdot \frac{\omega_{int}}{\omega_{ld}}} = {L_{sys} \cdot \omega_{{co} \cdot 2 \cdot {real}}}}} & (111)\end{matrix}$K _(i) =R _(Σ)·ω_(int) =L _(sys)·ω_(co.2.real)·ω_(ld) =K _(p)ω_(ld)  (112)

Equations (96-97, 111-112) determines all controller's parameters.

It is possible to determine controller's parameters more precisely if wewill analyze phase margin at the current loop frequency crossover point.According to FIG. 6, the following can be written the open current looptransfer function as follows:

$\begin{matrix}{{H_{{i \cdot {open}} - {{{loop} \cdot 2}{lag}}}(p)} = {{{H_{{{PI} \cdot 2}{lag}}(p)} \cdot {H_{inv}(p)} \cdot {H_{object}(p)}} = {\left\lbrack {R_{\Sigma} \cdot \frac{\left( {1 + {pT}_{ld}} \right)}{{pT}_{int}} \cdot \frac{1}{1 + {pT}_{{lag}\; 1}} \cdot \frac{1}{1 + {pT}_{{lag}\; 2}}} \right\rbrack \cdot \left\lbrack e^{\omega \cdot \tau} \right\rbrack \cdot \left\lbrack {\frac{1}{R_{\Sigma}} \cdot \frac{1}{1 + {pT}_{\Sigma}} \cdot \frac{1}{1 + {2\xi \; T_{pk}p} + {T_{pk}^{2}p^{2}}}} \right\rbrack}}} & (113)\end{matrix}$

Finally:

$\begin{matrix}{{H_{{i \cdot {open}} - {{{loop} \cdot 2}{lag}}}(p)} = {{{H_{{{PI} \cdot 2}{lag}}(p)} \cdot {H_{inv}(p)} \cdot {H_{object}(p)}} = {\frac{1}{{pT}_{int}} \cdot e^{\omega \cdot \tau} \cdot \left( {1 + {pT}_{ld}} \right) \cdot \frac{1}{1 + {pT}_{{lag}\; 1}} \cdot \frac{1}{1 + {pT}_{{lag}\; 2}} \cdot \frac{1}{1 + {pT}_{\Sigma}} \cdot \frac{1}{1 + {2\xi \; T_{pk}p} + {T_{pk}^{2}p^{2}}}}}} & (114)\end{matrix}$

Where “τ” is inverter time delay and can be represent as follows:

$\begin{matrix}{\tau = \frac{1}{f_{{carrier} \cdot {inverter}}}} & (115)\end{matrix}$

Appropriate phase margin at the point of current loop frequencycrossover can be determine based on follows equation:

Δφ⁰(ω_(co.2.real))=180⁰−φ_(total-phase-shift-open-current-loop-2lag)≥30⁰  (116)

According to (105, 107) the following can be written:

${\Delta \; {\phi^{0}\left( \omega_{{co}{.2}} \right)}} = {{180^{{^\circ}} - 90^{{^\circ}} - {\frac{180^{{^\circ}}}{\pi} \cdot \left\{ {{\tau \cdot \omega_{{co}{.2}}} - {a\; {\tan \left( \frac{\omega_{{co}{.2}}}{\omega_{{ld}.{real}}} \right)}} + {a\; {\tan \left( \frac{\omega_{{co}{.2}}}{\omega_{{lag}\; 1.{real}}} \right)}} + {a\; {\tan \left( \frac{\omega_{{co}{.2}}}{\omega_{{lag}\; 2.{real}}} \right)}} + {a\; {\tan \left( \frac{\omega_{{co}{.2}}}{\omega_{\Sigma}} \right)}} + {a\; {\tan\left( \frac{2 \cdot \xi \cdot \omega_{{co}{.2}}}{\omega_{pk} - \frac{\omega_{{co}{.2}}^{2}}{\omega_{pk}}} \right)}}} \right\}}} \leq 30^{{^\circ}}}$

Practically, term

$``{a\; {\tan\left( \frac{2 \cdot \xi \cdot \omega_{{co}{{.2}.{real}}}}{\omega_{pk} - \frac{\omega_{{co}{{.2}.{real}}}^{2}}{\omega_{pk}}} \right)}}"$

is very small (less than 1 degree) and can be omitted.

Finally, phase margin can be write as follows:

$\begin{matrix}{{\Delta \; {\phi^{0}\left( \omega_{{co}{{.2}.{real}}} \right)}} = {90^{{^\circ}} - {\frac{180^{{^\circ}}}{\pi} \cdot \left\{ {{{\tau \cdot \omega_{{co}{{.2}.{real}}}} + \left\lbrack {{a\; {\tan \left( \frac{\omega_{{co}{{.2}.{real}}}}{\omega_{ld}} \right)}} - {a\; {\tan \left( \frac{\omega_{{co}{{.2}.{real}}}}{\omega_{\Sigma}} \right)}}} \right\rbrack + \left. \quad\left\lbrack {{a\; {\tan \left( \frac{\omega_{{co}{{.2}.{real}}}}{\omega_{{lag}\; 1}} \right)}} + {a\; {\tan \left( \frac{\omega_{{co}{{.2}.{real}}}}{\omega_{{lag}\; 2}} \right)}}} \right\rbrack \right\}} \geq 30^{\circ}} \right.}}} & (117)\end{matrix}$

After some manipulation we can derive:

$\begin{matrix}{{\Delta \; {\phi^{0}\left( \omega_{{co}{{.2}.{real}}} \right)}} = {{90^{{^\circ}} - {\left( \frac{180^{{^\circ}}}{\pi} \right) \cdot \left\{ {\left( {\tau \cdot \omega_{{co}{{.2}.{real}}}} \right) + \left\lbrack {a\; {\tan \left( \frac{x + y}{1 - {x \cdot y}} \right)}} \right\rbrack} \right\}}} > 30^{\circ}}} & (118)\end{matrix}$

Where:

$\begin{matrix}{x = \frac{\omega_{{co}{{.2}.{real}}} \cdot \left( {\omega_{{ld}.{real}} - \omega_{\Sigma}} \right)}{{\omega_{{ld}.{real}} \cdot \omega_{\Sigma}} + \omega_{{co}{{.2}.{real}}}^{2}}} & (119) \\{y = \frac{\omega_{{co}{{.2}.{real}}} \cdot \left( {\omega_{{lag}{{.1}.{real}}} + \omega_{{lag}{{.2}.{real}}}} \right)}{{\omega_{{lag}{{.1}.{real}}} \cdot \omega_{{lag}{{.2}.{real}}}} - \omega_{{co}{{.2}.{real}}}^{2}}} & (120)\end{matrix}$

Manipulate with “ω_(ld)”, “ω_(lag1)”, “ω_(lag2)”, sometimes“ω_(co.2.real)” and take into account (93, 96, 97, and 110) finally wecan establish all necessary PI controller's parameters. Disclosedexamples include power conversion systems 40, methods 300 and computerreadable mediums 104 to operate an inverter 46 to drive a motor load 20through an output filter 30, in which a control output value CO_(d,q) iscomputed according to a current reference value I_(d,q.ref) and acurrent feedback value I_(d,qfbk) using a proportional-integral PIcurrent regulator 106, the control output value CO_(d,q) is filteredusing a lag compensator filter 108 to compute an inverter output commandvalue V_(d,q.com), and the inverter 46 is controlled according to theinverter output command value V_(d,q.com). The examples of FIGS. 10 and11 use a single lag compensator 108 with a corner frequency profile1006, 1106 to provide a −20 db/dc slope in combination with the leadingcharacteristic of the PI regulator to shift the profile of the closedcurrent loop curve 1004, 1104 to ensure a desired amplitude margin 1010,1110 below unity (below the X axis in FIGS. 10 and 11), in considerationof the peak amplitude amount 1012, 1112 associated with the weaklydamped output filter 30. In addition, disclosed examples of the lagcompensator filter (108) are designed to provide a non-zero phase margin(1010, 1110) at the current control loop crossover frequency (ω_(co)) ofthe closed current control loop.

In the preceding specification, various embodiments have been describedwith reference to the accompanying drawings. It will be evident thatvarious modifications and changes may be made thereto, and additionalembodiments may be implemented, without departing from the broader scopeof the invention as set forth in the claims that follow. Thespecification and drawings are accordingly to be regarded in anillustrative rather than restrictive sense.

1. A power conversion system, comprising: an inverter comprising a DCinput, an AC output, and a plurality of switching devices coupledbetween the DC input and the AC output and operative according toinverter switching control signals to convert DC electrical powerreceived at the DC input to provide AC electrical output power at the ACoutput to drive a motor load through an intervening output filter; and acontroller configured to: compute a control output value according to acurrent reference value and a current feedback value using aproportional-integral (PI) current regulator implemented by thecontroller, filter the control output value to compute an inverteroutput command value using a lag compensator filter implemented by thecontroller, wherein the lag compensator filter is designed to provide anon-zero amplitude margin below unity at a resonance frequency of acurrent control loop, and provide the inverter switching control signalsto control the inverter according to the inverter output command value.2. The power conversion system of claim 1, wherein the lag compensatorfilter includes one or more lag compensators designed according to acurrent control loop resonance frequency of a current control loop, aninverter operating fundamental frequency, a peak resonance frequency ofthe output filter, a desired lead corner frequency of the currentcontrol loop, a desired amplitude margin below unity at the resonancefrequency of the current control loop, a desired current control loopcrossover frequency of the current control loop, and a plant cornerfrequency, wherein the current control loop resonance frequency is equalto a difference between the peak resonance frequency of the outputfilter and the inverter operating fundamental frequency.
 3. The powerconversion system of claim 2, wherein the lag compensator filterincludes a first lag compensator filter having a first lag filter cornerfrequency between the current control loop crossover frequency and thecurrent control loop resonance frequency.
 4. The power conversion systemof claim 3, wherein the lag compensator filter includes a second lagcompensator filter having a second lag filter corner frequency betweenthe first lag filter corner frequency and the current control loopresonance frequency.
 5. (canceled)
 6. (canceled)
 7. The power conversionsystem of claim 4, wherein the first and second lag compensators aredesigned to provide a non-zero phase margin at the current control loopcrossover frequency.
 8. The power conversion system of claim 4, whereinthe controller is further configured to: compute a speed error valueaccording to a speed reference value and a speed feedback value; computea torque reference value according to the speed error value; and computethe current reference value according to the torque reference value. 9.(canceled)
 10. The power conversion system of claim 3, wherein the firstlag compensator is designed to provide a non-zero phase margin at thecurrent control loop crossover frequency.
 11. The power conversionsystem of claim 3, wherein the controller is further configured to:compute a speed error value according to a speed reference value and aspeed feedback value; compute a torque reference value according to thespeed error value; and compute the current reference value according tothe torque reference value.
 12. (canceled)
 13. The power conversionsystem of claim 2, wherein the lag compensator filter is designed toprovide a non-zero phase margin at the current control loop crossoverfrequency.
 14. The power conversion system of claim 2, wherein thecontroller is further configured to: compute a speed error valueaccording to a speed reference value and a speed feedback value; computea torque reference value according to the speed error value; and computethe current reference value according to the torque reference value. 15.(canceled)
 16. The power conversion system of claim 1, wherein the lagcompensator filter is designed to provide a non-zero phase margin at acurrent control loop crossover frequency.
 17. The power conversionsystem of claim 1, wherein the controller is further configured to:compute a speed error value according to a speed reference value and aspeed feedback value; compute a torque reference value according to thespeed error value; and compute the current reference value according tothe torque reference value.
 18. A method of operating an inverter todrive a motor load through an output filter, the method comprising:using a proportional-integral (PI) current regulator implemented by aprocessor, computing a control output value according to a currentreference value and a current feedback value; using the processor,filtering the control output value to compute an inverter output commandvalue using a lag compensator filter implemented by the controller,wherein the lag compensator filter is designed to provide a non-zeroamplitude margin below unity at a resonance frequency of a currentcontrol loop; and controlling the inverter according to the inverteroutput command value.
 19. The method of claim 18, comprising: using theprocessor, computing a speed error value according to a speed referencevalue and a speed feedback value; using the processor, computing atorque reference value according to the speed error value; and using theprocessor, computing the current reference value according to the torquereference value.
 20. A power conversion system, comprising: an invertercomprising a DC input, an AC output, and a plurality of switchingdevices coupled between the DC input and the AC output and operativeaccording to inverter switching control signals to convert DC electricalpower received at the DC input to provide AC electrical output power atthe AC output to drive a motor load through an intervening outputfilter; and a controller configured to: filter a current feedback valueto compute a filtered current feedback value using a lag compensatorfilter implemented by the controller, wherein the lag compensator filteris designed to provide a non-zero amplitude margin below unity at aresonance frequency of a current control loop, compute an inverteroutput command value according to a current reference value and thefiltered current feedback value using a proportional-integral (PI)current regulator implemented by the controller, and provide theinverter switching control signals to control the inverter according tothe inverter output command value.